package io.e2x.testground.fruitstore.service;

import io.e2x.testground.fruitstore.dal.entities.Store;
import io.e2x.testground.fruitstore.dal.entities.StoreSpu;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.netty.ChannelPipelineConfigurer;

import java.math.BigInteger;

public interface StoreService {
    Flux<Store> getStores();
    Mono<Void> addStore(Store store);
    Mono<Void> addStoreSpus(StoreSpu storeSpu);
    Mono<Void> updateStoreSpus(StoreSpu storeSpu);
    Flux<StoreSpu> getStoreSpus(long storeId);
    Mono<Void> deleteStoreSpus(StoreSpu storeSpu);

    Mono<StoreSpu> findStoreSpuBySpuNo(String spuNo);

    Mono<StoreSpu> findStoreSpuByName(String name);

    Mono<StoreSpu> findStoreSpuBySkuId(long id);
}
